package huawei_nowcoder;

import java.util.Scanner;

/**
 * @Description: 字符串加解密
 * @Date: 2020/4/22
 * @Author: 许群星
 */
public class _28_StringEncryptionDecryption {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        while (sc.hasNext()){
            String str=sc.nextLine();
            String str1=sc.nextLine();
            System.out.println(Encrypt(str));
            System.out.println(unEncrypt(str1));
        }
    }
    //加密
    public static String Encrypt(String str){
        char[] chars=str.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            char temp=chars[i];
            if (Character.isUpperCase(temp)){
                if (temp=='Z')
                    chars[i]='a';
                else {
                    char haha= (char) (chars[i]+1);
                    chars[i]=Character.toLowerCase(haha);
                }
            }else if (Character.isLowerCase(temp)){
                if (temp=='z')
                    chars[i]='A';
                else {
                    char haha= (char) (chars[i]+1);
                    chars[i]=Character.toUpperCase(haha);
                }
            }else if (Character.isDigit(temp)){
                if (temp=='9')
                    chars[i]='0';
                else {
                    chars[i]= (char) (chars[i]+1);
                }
            }
        }
        return String.valueOf(chars);
    }
    //解密
    public static String unEncrypt(String str){
        char[] chars=str.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            char temp=chars[i];
            if (Character.isUpperCase(temp)){
                if (temp=='A')
                    chars[i]='z';
                else {
                    char haha= (char) (chars[i]-1);
                    chars[i]=Character.toLowerCase(haha);
                }
            }else if (Character.isLowerCase(temp)){
                if (temp=='a')
                    chars[i]='Z';
                else {
                    char haha= (char) (chars[i]-1);
                    chars[i]=Character.toUpperCase(haha);
                }
            }else if (Character.isDigit(temp)){
                if (temp=='0')
                    chars[i]='9';
                else {
                    chars[i]= (char) (chars[i]-1);
                }
            }
        }
        return String.valueOf(chars);
    }
}
/*
题目描述
1、对输入的字符串进行加解密，并输出。
2加密方法为：
当内容是英文字母时则用该英文字母的后一个字母替换，同时字母变换大小写,如字母a时则替换为B；字母Z时则替换为a；
当内容是数字时则把该数字加1，如0替换1，1替换2，9替换0；
其他字符不做变化。
3、解密方法为加密的逆过程。
接口描述：

    实现接口，每个接口实现1个基本操作：

void Encrypt (char aucPassword[], char aucResult[])：在该函数中实现字符串加密并输出

说明：

1、字符串以\0结尾。

2、字符串最长100个字符。



int unEncrypt (char result[], char password[])：在该函数中实现字符串解密并输出

说明：

1、字符串以\0结尾。

    2、字符串最长100个字符。







输入描述:
输入说明
输入一串要加密的密码
输入一串加过密的密码

输出描述:
输出说明
输出加密后的字符
输出解密后的字符

示例1
输入
复制
abcdefg
BCDEFGH
输出
复制
BCDEFGH
abcdefg
 */